import org.apache.spark.sql.SparkSession

object RDDExample {
  def main(args: Array[String]): Unit = {
    // 创建SparkSession
    val spark = SparkSession.builder()
      .appName("RDD Example")
      .master("local[*]") // 使用本地模式运行，*表示使用所有可用核心
      .getOrCreate()

    // 获取SparkContext
    val sc = spark.sparkContext

    // 1. 创建一个包含100个元素的RDD（从1到100）
    val rdd = sc.parallelize(1 to 100)

    // 2. 将其中大于50的元素乘以2
    val mappedRDD = rdd.map { num =>
      if (num > 50) num * 2 else num
    }

    // 3. 筛选出大于100的元素
    val filteredRDD = mappedRDD.filter(_ > 100)

    // 收集结果并打印
    val result = filteredRDD.collect()
    println("大于100的元素为：")
    result.foreach(println)

    // 停止SparkSession
    spark.stop()
  }
}